/******************************************************************************* * Copyright (c) 2006-2010 eBay Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 *******************************************************************************/ package org.ebayopensource.turmeric.policy.adminui.client; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.ebayopensource.turmeric.policy.adminui.client.model.PolicyAdminUIService; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyEnforcementServiceImpl; import org.ebayopensource.turmeric.policy.adminui.client.model.policy.PolicyQueryServiceImpl; import org.ebayopensource.turmeric.policy.adminui.client.shared.AppUser; import org.ebayopensource.turmeric.policy.adminui.client.util.AppKeyUtil; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.event.logical.shared.CloseEvent; import com.google.gwt.event.logical.shared.CloseHandler; import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.user.client.Cookies; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.RootLayoutPanel; import com.ibm.wsdl.xml.WSDLReaderImpl; /** * Entry point for Turmeric Management Console app. */ public class PolicyAdminUI implements EntryPoint { /** * This is the entry point method. */ public void onModuleLoad() { Window.setTitle(PolicyAdminUIUtil.constants.title()); Window.addCloseHandler(new CloseHandler<Window> () { public void onClose(CloseEvent<Window> event) { //briefly save the login/password combo //NOTE when using gwt hosted mode, which is sloooow, the //cookie will already have expired before the reload is //completed, so don't expect this to work in hosted mode Date expiry = new Date(System.currentTimeMillis()+1000); //TODO change to using secure cookies only! String cookie = AppUser.toCookie(); if (cookie != null) { Cookies.setCookie(AppKeyUtil.COOKIE_SESSID_KEY, cookie, expiry); //expiry, null, null, false); } } }); final HandlerManager eventBus = new HandlerManager(null); Map<SupportedService, PolicyAdminUIService> serviceMap = createServiceMap(); AppController pageController = new AppController(eventBus, RootLayoutPanel.get(), serviceMap); pageController.start(); } // wrap the services. not sure how many services will be used later. private Map<SupportedService, PolicyAdminUIService> createServiceMap() { Map<SupportedService, PolicyAdminUIService> serviceMap = new HashMap<SupportedService, PolicyAdminUIService>(); serviceMap.put(SupportedService.POLICY_QUERY_SERVICE, new PolicyQueryServiceImpl()); serviceMap.put(SupportedService.POLICY_ENFORCEMENT_SERVICE, new PolicyEnforcementServiceImpl()); return serviceMap; } }